// 新增一个管理“权限数据”的公共文件：就可以使的四处可用（标题导航栏：静态+动态名字）
// 初始化模块：
import { constantRoutes, asyncRoutes } from '@/router'
const state = {
  // 设置一个空的routes路由数组：
  routes: []
}

const mutations = {
  // routes路由数组：包含了静态+动态路由：
  setRoutes(state, data) {
    state.routes = [...constantRoutes, ...data]
  }
}

const actions = {
  filterRoutes(context, roles) {
    // 将动态路由封装过来：
    const myRoutes = asyncRoutes.filter(item => roles.menus.indexOf(item.name) > -1)
    // 把404页面塞到动态路由的最后面，是保证所有的路由都添加完毕之后，再增加一个404重定向
    myRoutes.push({ path: '*', redirect: '/404', hidden: true })
    // context.commit('setRoutes', ...myRoutes) 在mutation里面已经解构了，不需要再解构了
    context.commit('setRoutes', myRoutes)
    // 要记得把myroutes给return出去：
    return myRoutes
  }
}

export default {
  // 默认导出的部分：
  namespaced: true, // 只这里生效
  state,
  mutations,
  actions

}
